// JavaScript Document
function Persona(){
	this.ID;
	this.apellido = {id:'',name:'', HTMLID:'persona_apellido'};
	this.tipoDocumento = {HTMLID:'Persona_persona_tipodocumento_id'};
}
Persona.prototype.validarTipoDocumento = function(tipoDocumentoID)
{
	var per = this;
	if(tipoDocumentoID == undefined)
	{
		tipoDocumentoID = per.tipoDocumento.HTMLID;
	}
	
	if($('#' + tipoDocumentoID).length == 0){//no existe el objeto
		alert('Tipo de Documento no existe');
		return false;
	}
	
	if($('#error_' + tipoDocumentoID).length != 0)//existe el label
	{
		$('#error_' + tipoDocumentoID).html('');
	}
	else
	{	
		label = $('<label id="error_' + tipoDocumentoID + '" />')
		.attr({"for":  tipoDocumentoID, generated: true})
		.addClass('errorMessage');
		$('#' + tipoDocumentoID).parent().append(label);
	}
	
	if($('#' + tipoDocumentoID).val() == "")
	{
		$('#error_' + tipoDocumentoID).html('Seleccione un tipo de documento');
		$('#' + tipoDocumentoID).focus();
		return false;
	}
	return true;
}

Persona.prototype.validarNumeroDocumento = function(numeroDocumentoID)
{
	
	if($('#' + numeroDocumentoID).length == 0){//no existe el objeto
		return false;
	}
	
	if($('#error_' + numeroDocumentoID).length != 0)//existe el label
	{
		$('#error_' + numeroDocumentoID).html('');
	}
	else
	{	
		label = $('<label id="error_' + numeroDocumentoID + '" />')
		.attr({"for":  numeroDocumentoID, generated: true})
		.addClass('errorMessage');
		$('#' + numeroDocumentoID).parent().append(label);
	}
	
	
	if($('#' + numeroDocumentoID).val() == "")
	{
		$('#error_' + numeroDocumentoID).html('Inserte Numero de Documento');
		$('#' + numeroDocumentoID).focus();
		return false;
	}
	return true;
}
Persona.prototype.beforeSearch = function(tipoDocumentoID, numeroDocumentoID, maxPerson, idTargetObject, loadingMessage)
{
	
	if(this.validarTipoDocumento(tipoDocumentoID) && this.validarNumeroDocumento(numeroDocumentoID))
	{
	
		if($('#' + idTargetObject + ' tr').length == maxPerson) //si tiene ninguna persoana asignada
		{
			return false;
		}	
		
		//$('#' + idTypeDocumentObject).attr('disabled', 'disabled');
		//$('#' + idNumberDocumentObject).attr('disabled', 'disabled');
		return true;
	}
	return false;

}

Persona.prototype.successSearch = function(result, idTypeDocumentObject, idNumberDocumentObject, idTargetObject, deleteText, messageDelete) 
{
	
	if ($('#' + idTargetObject).length) // object tbodyPerson found
	{
		if(!result.hasOwnProperty('error'))//no existe la persona
		{	
			idTRPerson = idTargetObject + '_tr_' + result[0].attributes.persona_tipodocumento_id + '_' + result[0].attributes.persona_numerodocumento;
			if(!$('#' + idTRPerson).length)
			{
				trResult = '<tr id="' + idTRPerson + '">';
				trResult += '<td>' + result[0].attributes.persona_apellido + '</td>';
				trResult += '<td>' + result[0].attributes.persona_nombres + '</td>';
				trResult += '<td>' + result[0].relations.tipoDocumento.tipodocumento_abreviacion + '</td>';
				trResult += '<td>' + result[0].attributes.persona_numerodocumento + '</td>';
				trResult += '<td>' + result[0].attributes.persona_fechanacimiento+ '</td>';
				inputPerson = '<input type="hidden" name="Persona[temporal_tipodocumento_id][]" value="' + result[0].attributes.persona_tipodocumento_id + '" />';
				inputPerson += '<input type="hidden" name="Persona[temporal_numerodocumento][]" value="' + result[0].attributes.persona_numerodocumento + '" />';
					
				messageConfirm = messageDelete + result[0].attributes.persona_apellido + ',' + result[0].attributes.persona_nombres;
				
				deleteHTML = '<input type="button" onClick="persona.deleteSelectedPerson(\'' + idTRPerson +  '\', \'' + messageConfirm +'\')" value="' + deleteText + '"  />';
				
				trResult += '<td>' + inputPerson + deleteHTML + '</td>';
				trResult += '</tr>';
				$('#' + idTargetObject).append(trResult);
			}
			else //persona ya esta asignada
			{
				
			}
		}
		else
		{
			alert('Persona no existe');
		}
		
		
	}
}


Persona.prototype.deleteSelectedPerson = function(idSelectedPerson, messageDelete)
{
	if ($('#' + idSelectedPerson).length) // object state no found
	{
		
		var r=confirm(messageDelete);
		if (r==true)
		{
			$('#' + idSelectedPerson).remove();
		}
	}
	
}

Persona.prototype.setearPersona= function(data) 
{
	
	if(!data.hasOwnProperty('error'))//no existe la persona
	{
		//apellido
		if ($('#Persona_persona_apellido').length) // object tbodyPerson found
		{
			$('#Persona_persona_apellido').val(data[0].attributes.persona_apellido);
		}
		
		//nombres
		if ($('#Persona_persona_nombres').length) // object tbodyPerson found
		{
			$('#Persona_persona_nombres').val(data[0].attributes.persona_nombres);
		}
		
		if ($('#Persona_persona_tipodocumento_id').length) // object tbodyPerson found
		{
			$('#Persona_persona_tipodocumento_id').val(data[0].attributes.persona_tipodocumento_id);
		}
		
		if ($('#Persona_persona_numerodocumento').length) // object tbodyPerson found
		{
			$('#Persona_persona_numerodocumento').val(data[0].attributes.persona_numerodocumento);
		}
		
		if ($('#Persona_persona_cuilcuit').length) // object tbodyPerson found
		{
			$('#Persona_persona_cuilcuit').val(data[0].attributes.persona_cuilcuit);
		}
		
		if ($('#Persona_persona_fechanacimiento').length) // object tbodyPerson found
		{
			$('#Persona_persona_fechanacimiento').val(data[0].attributes.persona_fechanacimiento);
		}
		
		if ($('#Persona_persona_sexo_id').length) // object tbodyPerson found
		{
			$('#Persona_persona_sexo_id').val(data[0].attributes.persona_sexo_id);
		}
		
		if ($('#Persona_persona_estadocivil_id').length) // object tbodyPerson found
		{
			$('#Persona_persona_estadocivil_id').val(data[0].attributes.persona_estadocivil_id);
		}
		
		if ($('#Persona_persona_nacionalidad_id').length) // object tbodyPerson found
		{
			$('#Persona_persona_nacionalidad_id').val(data[0].attributes.persona_nacionalidad_id);
		}
		
		if ($('#Persona_originalNumeroDoc').length)
		{
			$('#Persona_originalNumeroDoc').val(data[0].attributes.persona_numerodocumento);
		}
		
		if ($('#Persona_originalTipoDoc').length)
		{
			$('#Persona_originalTipoDoc').val(data[0].attributes.persona_tipodocumento_id);
		}
		if ($('#linkLimpiarFormulario').length)
		{
			$('#linkLimpiarFormulario').show();
		}
	}
}
Persona.prototype.limpiarFormularioPersona= function(){
	
	if ($('#autocompleteBuscarPersona').length){$('#autocompleteBuscarPersona').val('');}
	
	if ($('#Persona_persona_apellido').length){$('#Persona_persona_apellido').val('');}
	
	if ($('#Persona_persona_nombres').length){$('#Persona_persona_nombres').val('');}
	
	if ($('#Persona_persona_numerodocumento').length){$('#Persona_persona_numerodocumento').val('');}
	
	if ($('#Persona_persona_cuilcuit').length){$('#Persona_persona_cuilcuit').val('');}
	
	if ($('#Persona_persona_fechanacimiento').length){$('#Persona_persona_fechanacimiento').val('');}
	
	if ($('#Persona_originalNumeroDoc').length){$('#Persona_originalNumeroDoc').val('');}
	
	if ($('#Persona_originalTipoDoc').length){$('#Persona_originalTipoDoc').val('');}
	
	if ($('#linkLimpiarFormulario').length){$('#linkLimpiarFormulario').hide();}
}
